// pages/charge/w_charge_cydb/w_charge_cydb.js

const app = getApp() // 获取应用实例
import { getWBalance, postBindWater } from '../../../utils/http/api'

Page({

  // 页面的初始数据
  data: {
    // 输入的的缴费户号
    account_num: '',
    // 查询的户号对象
    item: {},
  },

  // 监听缴费户号输入框
  onInput(e) {
    // 监听输入的缴费户号，赋值给记录变量
    this.setData({ account_num: e.detail.value, })
  },

  // 查询房间
  onQuery() {
    if (!this.data.account_num) {
      wx.showToast({ title: '请输入水表号', icon: 'none' })
      return
    }
    this.reqBalance()
  },

  // 确定
  onOk() {
    if (!this.data.item || !this.data.item.water) {
      wx.showModal({
        title: '提示', content: '请先点击『查询按钮』，确认户号、户主、房屋等信息后再进行操作。',
        showCancel: false
      })
      return
    }

    let that = this
    wx.showModal({
      title: '提示', content: '确认绑定该水表？',
      success(res) {
        if (res.confirm) {
          that.reqAddCydb()
        }
      },
    })
  },

  // 接口:查询水表号信息
  async reqBalance() {
    wx.showLoading({ title: '处理中', mask: true, })
    let { code, msg, data } = await getWBalance({ water: this.data.account_num, token: app.gl.token, })
    // console.log(`reqBalance...code=${code},msg=${msg},data=`, data)
    if (code == '1') {
      this.setData({ item: data.data })
    } else {
      wx.showToast({ title: msg, icon: 'none' })
    }
  },

  // 接口:添加/绑定常用水表 
  async reqAddCydb() {
    wx.showLoading({ title: '处理中', mask: true, })
    let { code, msg, data } = await postBindWater({ water: this.data.item.water, token: app.gl.token, })
    // console.log(`reqAddCydb...code=${code},msg=${msg},data=`, data)
    if (code == '1') {
      wx.showModal({
        title: '提示', content: msg, showCancel: false,
        success(res) {
          wx.navigateBack()
        }
      })

      const eventChannel = this.getOpenerEventChannel()
      eventChannel.emit('onBindOk', 'onBindOk')

    } else {
      wx.showModal({ title: '提示', content: msg, showCancel: false })
    }
  },

  // 生命周期函数--监听页面加载
  onLoad(options) {
    const eventChannel = this.getOpenerEventChannel()
    // 监听acceptDataFromOpenerPage事件，获取上一页面通过eventChannel传送到当前页面的数据
    eventChannel.on('acceptDataFromOpenerPage', function (data) {
      // console.log(data)
    })
  },

  // 生命周期函数--监听页面初次渲染完成
  onReady() {
  },

})